A large number of application programs have been built on and continue to be built on legacy technologies. However, these legacy technologies may become incompatible with modern technologies that provide improved functionality. To access the runtime improvements and functionality of these modern technologies, developers typically must rewrite their code base and build their application on the modern technology, which may be time consuming and expensive for these developers.